Кортежи в языке Julia представляют собой коллекции фиксированной длины и упорядоченные данные, предназначенные для обеспечения целостности данных путем предотвращения случайных изменений состояния. Массив обозначается квадратными скобками, а кортеж — круглыми скобками и запятыми, как видно из определения tup1=(5,10,15,20,25,30).
1. Основные свойства
Как и массив, кортеж также представляет собой упорядоченное множество элементов. Это позволяет выполнять извлечение по диапазону, например, tup1[3:end] чтобы вернуть подмножество исходных данных. Кортежи также чрезвычайно гибкие, позволяя использовать структурную вложенность. Если tup1 = ((1,2),(3,4)), мы можем получить первый элемент с помощью tup1[1] или пройти глубже до tup1[1][2].
2. Договор о неизменяемости
Наиболее важное различие заключается в том, что Кортежи неизменяемы. После создания их содержимое нельзя изменить. Выполнение операции, такой как tup1[2]=0 приведет к ошибке типа MethodError, эффективно «заблокировав» данные.
3. Оптимизация
Поскольку кортежи неизменяемы, компилятор Julia часто может оптимизировать их хранение в памяти, делая их значительно быстрее массивов для небольших групп данных фиксированного размера.